package cn.harry.wx.service;

import cn.harry.wx.entity.WxQrCode;
import cn.harry.wx.form.WxQrCodeForm;
import com.baomidou.mybatisplus.core.metadata.IPage;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket;

/**
 * 公众号带参二维码
 *
 * @author honghh
 * Date 2021-04-08 16:19:27
 * Copyright (C) www.tech-harry.cn
 */
public interface WxQrCodeService {

    /**
     * 分页查询公众号带参二维码信息
     *
     * @param wxQrCode
     * @param pageSize
     * @param pageNum
     * @return
     */
    IPage<WxQrCode> getPage(WxQrCode wxQrCode, Integer pageSize, Integer pageNum);

    /**
     * 根据ID查询
     *
     * @param id
     * @return
     */
    WxQrCode selectById(Long id);

    /**
     * 创建公众号带参二维码信息
     *
     * @param wxQrCode
     * @return
     */
    int create(WxQrCode wxQrCode);

    /**
     * 更新公众号带参二维码
     *
     * @param id
     * @param wxQrCode
     * @return
     */
    int update(Long id, WxQrCode wxQrCode);

    /**
     * 批量删除
     *
     * @param ids
     * @return
     */
    int deleteByIds(Long[] ids);

    /**
     * 创建公众号带参二维码
     *
     * @param appid
     * @param form
     * @return
     */
    WxMpQrCodeTicket createQrCode(String appid, WxQrCodeForm form) throws WxErrorException;

    /**
     * 生成二维码并发送信息
     *
     * @param fromUser
     * @param appid
     */
    void sendQrCode(String fromUser, String appid) throws WxErrorException;
}

